פרסמתי כאן בעבר את הפריימוורק (המאד קטן) שלי, ובניגוד לFXP ולקהילות תכנותיות (כושלות ברובן) אחרות קיבלתי כאן מענה רחב.
אשמח מאד לקבל על הפריימוורק ביקורת.
קישור : https://github.com/liorel100/Lior-Framework
מה חדש בפריימוורק -
1) פרמטרים לactions - ראיתי משהו דומה בפריימוורק של iiddaannyy והחלטתי לעשות כזה אצלי. אצלי אין אנוטציות והמנגנון יותר פשוט אך אני אוהב אותו.
2) כל מאחורי הקלעים של מערכת הראוטינג שונה לגמרי, וכרגע הוא יותר טוב. נוסף על כך ניתן לבחור בConfiguration.ini את סיומות הקובץ שרוצים בURL.
3) עוד מחלקות מובנות בframework libs
4) שונה מבנה טעינת קבצי המערכת של MVC למבנה הרבה יותר חכם.
את שאר הדברים ניתן לקרוא כאן - לחצו כאן.
תודה רבה :)
12 תשובות
רק שתדע באחד הדברים החשובים למערכת ראוטינג טובה, היא שהכל יהיה בנוי עפ"י paths (נתיבים), כלומר ללא filename (שם של משהו שמכיל את הסיומת).
כלומר, /h/he/hey/index.php היא לא דוגמא טובה לראוטינג טוב, אך /h/he/hey/ זה דוגמא טובה.
בדוגמא הלא טובה שהצגתי, אפשר גם להבין לבד שאין צורך שיופיע index, הרי הדף הראשי יוצג כשאין שם אחר (/), ואם צריך דף שהוא לא האינדקס ישימו את שמו (ללא הסיומת) כsub-path
pאני מימשתי את זה לחלוטין. אל תתבלבל. אתה מוזמן לבחון את מערכת הראוטינג :)
"נוסף על כך ניתן לבחור בConfiguration.ini את סיומות הקובץ שרוצים בURL."
לפי מה שאתה אומר פה אתה דווקא כן משתמש בסיומת קובץ.
זה ליופי. גם אם תבחר סיומת Png זה עדיין יפנה את xxx.png/yyy/p1/v1 לקונטרולר xxx לאקשיין yyy עם פרמטרים p1=v1.
ודרך אגב, אתה יכול לבחור גם סיומת empty - כלומר שהpath תהיה xxx/yyy/p1/v1
1) אני מבין שזה ליופי - לא יכול להיות לזה משמעות אחרת
אבל זה נוגד את העקרון של ראוטינג לשים סיומת בקובץ
2) קבצים סטטים (תמונות, מדיה, css,html'js וכו') הם כמובן לא יהיו חלק ממערכת הראוטינג..
1) יש המון אתרים שעושים את זה ליופי - הן סיבה שלא. ולמה זה סותר את עקרונות הראוטינג - זה ליופי.
2) זה גישה מאד מיושנת ופרימיטיבית. היום כשאתה ניגש לקובץ המערכת תנתר את הpath, תוסיף לה את הקידומת שהיא צריכה ותדפיס את הקובץ למסך בשליחה mime type header מתאים. לכן מערכות העלאת קבצים מאפשרות כל קובץ שבעולם, גם אם זה קובץ PHP. פרט לכך, אם נניח אתה בונה מערכת שרטוט גרפים מאד לגיטימי שתקבל בget או דרך מערכת הראוטינג פרמטר של הפונקציה עצמה ותיצור את הגרף בGD "על המקום" (או עם מערכת קאש, בכל אופן זה לא משנה כי זה עובר דרך PHP). למרות זאת המשתמש יראה סיומת png.
2) אני מדבר על כך שיש להפריד בין קבצי תמונות ומדיה שהם סטטים לבין קבצי שרת שהם דינמיים.
הם כן יהיו חלק ממערכת הראוטינג - היא תנתב URI מתאים אליהם. אין בזה שום בעיה.
1. שמח שאהבת את הרעיון. אבל לא ראיתי איפה עשית את זה. אני עדיין רואה במחלקה BaseController מאפיין בשם params שמוגדר כ-protected.
עריכה: טעות שלי. נכנסתי ל-BaseController במקום ל-ControllerBase...